// function formatter(number) {
//     const numbers = number.toString().split('').reverse()
//     const segs = []

//     while (numbers.length) segs.push(numbers.splice(0, 3).join(''))

//     return segs.join(',').split('').reverse().join('')
// }

// var conf = [123456]

// console.log(formatter(conf))



// function newGuid() {
//     var guid = "";
//     for (var i = 1; i <= 32; i++) {
//         var n = Math.floor(Math.random() * 16.0).toString(16);
//         guid += n;
//         if ((i == 8) || (i == 12) || (i == 16) || (i == 20))
//             guid += "-";
//     }
//     return guid;
// }

// var token = newGuid()

// console.log('token=======', token)



// for (let i = 0; i < 26; i++) {
//     console.log(i, String.fromCharCode(65 + i))
// }


// console.log([1, 3, 5, 10, 20, 11].sort((a, b) => a - b))


//  合并两个数组
var arr = [1, 2, 3]
var arr2 = [4, 5, 6]
    // var newArr = arr.concat(arr2)
    // console.log(newArr)

// var newArr2 = [...arr, ...arr2]
// console.log(newArr2)


// for (var i in arr2) {
//     arr.push(arr2[i])
// }

// console.log(arr)

// arr.push.apply(arr, arr2)
// console.log(arr)

// for (var i = 0; i < arr.length; i++) {
//     console.log(arr[i])
// }

// for (var index in arr) {
//     console.log(arr[index])
// }

// for (item of arr) {
//     console.log(item)
// }


// arr.forEach((item, index) => {
//     console.log(index, '-', index)
// })


// function fib(n) {
//     let cache = [0, 1, 1]

//     function _fib(n) {
//         if (cache[n]) return cache[n]
//         cache[n] = _fib(n - 1) + _fib(n - 2)
//         return cache[n]
//     }

//     return _fib(n)
// }

// console.log(fib(10))



// 描一颗树
//如现有一颗树

// const tree = {
//     value: 1,
//     left: {
//         value: 2,
//         left: {
//             value: 4
//         }
//     },
//     right: {
//         value: 3,
//         left: {
//             value: 5,
//             left: {
//                 value: 7,
//             },
//             right: {
//                 value: 8
//             }
//         },
//         right: {
//             value: 6
//         }
//     }
// }

// // 先序遍历
// const preOrder = (node) => {
//     if (node) {
//         console.log(node.value)
//         preOrder(node.left)
//         preOrder(node.right)
//     }
// }
// console.log('先序遍历：')
// preOrder(tree)


// // 中序遍历
// const midorder = (node) => {
//         if (node) {
//             midorder(node.left)
//             console.log(node.value)
//             midorder(node.right)
//         }
//     }
//     // 后续遍历
// const postorder = (node) => {
//     if (node) {
//         postorder(node.left)
//         postorder(node.right)
//         console.log(node.value)
//     }
// }

// // 层次遍历，获取二叉树深度（高度）
// const getDepth = (node) => {
//     if (!node) return 0
//     let leftDepth = getDepth(node.left)
//     let rightDepth = getDepth(node.right)
//         // console.log('leftDepth---', leftDepth)
//         // console.log('rightDepth---', rightDepth)
//     return Math.max(leftDepth, rightDepth) + 1
// }
// console.log('树的深度为：', getDepth(tree))



// let long = 3

// let str = 'comment.' + long

// console.log(str)


function onPublic() {
    let arr = [];
    let promiseArr = [];
    for (let i = 0; i < 3; i++) {
        let p = new Promise((resolve, reject) => {
            //当第三方api提供的是异步方法时 这里用setTimeout模拟
            setTimeout(() => {
                console.log(i)
                arr.push(i);
                resolve()
            }, 0)
        })
        promiseArr.push(p)
    }

    //等所有promise任务执行完毕后再执行 返回0 1 2 [0,1,2] 
    Promise.all(promiseArr).then(res => {
        console.log(arr)
    })
}

onPublic()